package work.thread_eg.concurrent.synchronized_eg;

/**
 * synchronized使用
 * 1) 锁的细化
 * 同步代码块中的语句越少越好 使线程争用时间变短 从而提高效率
 * 一个方法中 只在对全局变量进行修改的地方使用synchronized 前后的业务逻辑不需要加锁
 *
 * 2) 锁的粗化
 *  争用特别频繁的时候 一个方法中有很多synchronized代码块 不如直接在方法上加synchronized
 *
 * 3) 避免锁定对象的引用变成另外的对象 使用final
 * 对象作为锁的时候 如果o变成了另外一个对象 那么锁定的对象也变了 会影响锁的使用
 */
public class SynchronizedTest02 {

    public static void main(String[] args) {

    }


}
